AWS CodePipeline 是 Amazon Web Services (AWS) 提供的一項全託管持續交付(CD)服務。它幫助您快速可靠地自動化應用程序的構建、測試和部署流程。通過 CodePipeline,您可以快速且一致地交付功能和更新。
AWS CodePipeline 是一項持續交付服務,可用來建立模型、視覺化和自動化發行軟體所需的步驟。您可以快速建立模型並設定軟體版本程序的不同階段。 CodePipeline 會自動化持續發佈軟體變更所需的步驟。
官方介紹如上,簡單說就是 CD 的服務,但也可以說是 AWS CI/CD 的核心,從來源取得程式碼、建立環境測試、部署等等,所有的流程都是在 AWS CodePipeline 做設定和整合
工具一多起來就會開始覺得有 GUI 真好,還好基本上新出的服務都會有~
不知道為什麼翻成管道就覺得超怪
還是用 Pipeline 最直接~或是感覺用「流程」還比較不怪~
是一個定義應用程式或服務如何從來源碼程式碼到部署的流程。
每個 pipeline 包含一系列 Stages(階段),每個階段對應於發布流程中的不同特定任務。
每個 Pipeline 由多個階段組成,每個階段可以進行不同任務或甚至多個Actions(操作)。階段之間是依序執行的,取決於在階段的設計,例如程式提交後,會觸發建立(build)階段,接下來可能會觸發自動測試和部署。
在每個階段中,您可以定義一個或多個操作。例如從專案程式庫中拉取(pull)代碼、運行 build 指令或進行自動化測試等。
整體來說就是,Pipeline 包含多個 Stages(階段),每個 Stages(階段)又可以包含多個 Actions(操作)
今天不會實作完整的 CodePipeline,但針對上面提到的內容,可以看一下具體在 AWS 當中對應的區塊,和可以做的,預計是過幾天的實作才會有完整的步驟~
可以從左篇區塊直觀看到預設有 source
、build
、deploy
的預設 stage
上方的設定是直接新增一個 role,可以直接進到 AWS IAM 就能找到對應的 role,再根據需要存取的內容,將對應的權限加到 role 身上,加的方式會有點像 【Day 4】Airflow 連接 AWS S3 - 介紹與 IAM 設定
source
的 stage 可以看到有多種不同的 provider 可以選擇,如果是新的專案就不要用 CodeCommit 了~畢竟之後也不維護了~
針對 Repo 的特定分支 branch 監控,例如:如果...(有新的commit)...就...(做XX事)
Build Stage 可以選擇直接用 Command 執行,或是選擇 Build Providers,當然有昨天介紹的 AWS CodeBuild ,另外也可以選更常見更熱門的 Jenkins~
需要注意的是 Build 和 Deploy Stage 都是可選的,但是不能都不選,畢竟是要建立 CI / CD,都不選感覺也太任性了~
Deploy Stage 也有提供許多 Providers,當然包含 AWS 自己的 CodeDeploy
但想要任性還是可以的,不論是整個 CodePipeline 的 Execution mode
,或是每個 Stage 具體的內容,都能在建立後再修改,也可以自己另外新增多個 stage,自行命名定義內容都可以~
今天就先這樣吧~接下來幾天應該都是測試相關的內容,願我還有體力和時間能完賽,P 人真的是沒到 Deadline 都不死心的,說的就是我自己